
// 公共常量
const baseApi = `${process.env.VUE_APP_BASE_API}`
const baseFileApi = `${process.env.VUE_APP_BASE_API}`
// const defaultImg = require('@/assets/default-img.png')

// 后台用户--性别
const userGenderList = [{ value: 0, name: '未知' }, { value: 1, name: '男性' }, { value: 2, name: '女性' }]
// 后台用户--状态--, { value: 3, name: '回收站-逻辑删除' }
const userStateList = [{ value: 1, name: '正常' }, { value: 2, name: '锁定' }]
// 后台用户---类型
const userTypeList = [{ value: 0, name: '内置' }, { value: 1, name: '添加' }, { value: 2, name: '注册' }]
// 用户--可登录平台
const logPtfList = [{ value: 'ADMIN', name: '管理端' }, { value: 'PC', name: '平台端' }]

// 平台用户--用户状态--, { value: 3, name: '回收站-逻辑删除' }
const pcUStateList = [{ value: 1, name: '正常' }, { value: 2, name: '锁定' }]

// 组织管理--组织类型
const orgTypeList = [{ value: 0, name: '单位' }, { value: 1, name: '部门' }, { value: 2, name: '岗位' }]

// 用户--审核状态
const userAuditStateList = [{ value: 1, name: '待审核' }, { value: 2, name: '审核通过' }, { value: 3, name: '审核不通过' }]

// 停启状态
const stopAndStart = [{ value: 0, name: '停用' }, { value: 1, name: '启用' }]

// 时间快捷选项
const pickerOptions = {
  shortcuts: [{
    text: '今天',
    onClick(picker) {
      const end = new Date()
      const start = new Date()
      start.setHours(0, 0, 0, 0)
      end.setHours(23, 59, 59, 999)
      picker.$emit('pick', [start, end])
    }
  }, { text: '最近一周',
    onClick(picker) {
      const end = new Date()
      const start = new Date()
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
      start.setHours(0, 0, 0, 0)
      end.setHours(23, 59, 59, 999)
      picker.$emit('pick', [start, end])
    }
  }, { text: '最近一个月',
    onClick(picker) {
      const end = new Date()
      const start = new Date()
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
      start.setHours(0, 0, 0, 0)
      end.setHours(23, 59, 59, 999)
      picker.$emit('pick', [start, end])
    }
  }, { text: '最近三个月',
    onClick(picker) {
      const end = new Date()
      const start = new Date()
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
      start.setHours(0, 0, 0, 0)
      end.setHours(23, 59, 59, 999)
      picker.$emit('pick', [start, end])
    }
  }]
}

export default {
  baseApi,
  baseFileApi,
  // defaultImg,
  userGenderList,
  userStateList,
  userTypeList,
  orgTypeList,
  logPtfList,
  pcUStateList,
  stopAndStart,
  pickerOptions,
  userAuditStateList
}

/**
 * 过滤--动态获取值--value,name
 *@param {*} list 列表
 *@param {*} value value
 */
export function filterValue(list, value) {
  let sName = ''
  list.some(item => {
    if (item.value === value) {
      sName = item.name
    }
  })
  return sName
}

import { pinyin } from 'pinyin-pro'

/**
 * 输入框名称--自动生成拼音编码
 *@param {*} name 输入框中的名称
 *@return {*} 返回对象，包含名称、编码
 */
export function inputPInYinCode(name) {
  var NameCode = ''
  var regCheckChinese = new RegExp('[\u4E00-\u9FA5]+') // 判断是否是中文
  var regEnglish = new RegExp('[A-Za-z]+') // 判断是否是英文
  var regCheckNumber = new RegExp('[0-9]+') // 判断是否是数字
  if (regCheckChinese.test(name)) {
    var pingyingList = pinyin(name.trim(), { toneType: 'none', type: 'array' })
    var firstName = pingyingList.shift()
    var _pingyingList = pingyingList.map(item => item.slice(0, 1))
    var code = _pingyingList.length === 0 ? firstName : `${firstName}_${_pingyingList.join('')}`
    NameCode = code
  } else if (regCheckNumber.test(name) && !regEnglish.test(name)) {
    name = ''
  } else {
    NameCode = name
  }
  return { name: name, code: NameCode }
}

/**
 * 过滤数据
 *@param {*} list 列表
 *@param {*} value 比较的值
 *@param {*} keyFiled 比较的字段
 *@param {*} backValue 返回的字段
 */
export function filterKeyVal(list, value, keyField, backField) {
  let val = ''
  list.some(item => {
    if (item[keyField] === value) {
      val = item[backField]
    }
  })
  return val
}
